package com.mzj.saas.mservice.propertybill.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mzj.saas.commons.DateUtils;
import com.mzj.saas.mservice.bill.vo.BillSearchRequestVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
@ApiModel("违约金Vo")
public class PenalSumVO extends BillSearchRequestVO {

    /*
     *账单id
     */
    @ApiModelProperty("账单id")
    private Long billId;
    /*
     *违约金账单id
     */
    @ApiModelProperty("违约金账单id")
    private Long violateId;
    /*
     *承租人id
     */
    @ApiModelProperty("承租人id")
    private String matchUserId;
    /*
     *手机号
     */
    @ApiModelProperty("手机号")
    private String phone;
    /*
     *计量单位
     */
    @ApiModelProperty("计量单位")
    private String measureUnit;
    /*
     *原账单金额
     */
    @ApiModelProperty("原账单金额")
    private String billCost;
    /*
     *原账单剩余未缴金额
     */
    @ApiModelProperty("原账单剩余未缴金额")
    private String billSurplusCost;
    /*
     *违约金金额
     */
    @ApiModelProperty("违约金金额")
    private String penalSumCost;
    /*
     *违约金日增长金额
     */
    @ApiModelProperty("违约金日增长金额")
    private String growthCost;

    /*
     *开始时间
     */
    @JsonFormat(pattern= DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("账单开始时间")
    private Date startTime;
    /*
     *账单结束时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("账单结束时间")
    private Date endTime;
    /*
     *缴费截止日期
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("缴费截止日期")
    private Date shouldPayTime;
    /*
     *缴费截止日期
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("违约金生成时间")
    private Date penalSumTime;

    /*
     *缴费时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("缴费时间")
    private Date paymentTime;
    /*
     * 缴费状态：0未缴费 1已缴费
     */
    @ApiModelProperty("缴费状态：0未缴费 1已缴费")
    private Integer paymentStatus;

    /*
     *操作人
     */
    @ApiModelProperty("操作人")
    private String operator_id;
    /*
     *操作时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("操作时间")
    private Date operatorTime;
    /*
     *违约金状态 ： 0不生成 1生成
     */
    @ApiModelProperty("违约金生成状态 ： 0不生成 1生成")
    private Integer violateStatus;

    @ApiModelProperty("违约金账单状态 0正常 1减免  2已删除")
    private Integer violateBillStatus;
    /*
     *违约金比例
     */
    @ApiModelProperty("违约金比例")
    private String violateRatio;

    /**
     * 物业机构id
     */
    private String orgName;

    @ApiModelProperty("收费项目(1水费 2电费 3物业费 4宽带费 5电视费 6煤气费 7暖气费)")
    private String chargeTypeName;

    public Integer getViolateBillStatus() {
        return violateBillStatus;
    }

    public void setViolateBillStatus(Integer violateBillStatus) {
        this.violateBillStatus = violateBillStatus;
    }

    public Integer getViolateStatus() {
        return violateStatus;
    }

    public void setViolateStatus(Integer violateStatus) {
        this.violateStatus = violateStatus;
    }

    public String getViolateRatio() {
        return violateRatio;
    }

    public void setViolateRatio(String violateRatio) {
        this.violateRatio = violateRatio;
    }

    public String getOperator_id() {
        return operator_id;
    }

    public void setOperator_id(String operator_id) {
        this.operator_id = operator_id;
    }

    public Date getOperatorTime() {
        return operatorTime;
    }

    public void setOperatorTime(Date operatorTime) {
        this.operatorTime = operatorTime;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }


    public Integer getPaymentStatus() {
        return paymentStatus;
    }


    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Long getBillId() {
        return billId;
    }

    public void setBillId(Long billId) {
        this.billId = billId;
    }

    public Long getViolateId() {
        return violateId;
    }

    public void setViolateId(Long violateId) {
        this.violateId = violateId;
    }

    public String getMatchUserId() {
        return matchUserId;
    }

    public void setMatchUserId(String matchUserId) {
        this.matchUserId = matchUserId;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getMeasureUnit() {
        return measureUnit;
    }

    public void setMeasureUnit(String measureUnit) {
        this.measureUnit = measureUnit;
    }

    public String getBillCost() {
        return billCost;
    }

    public void setBillCost(String billCost) {
        this.billCost = billCost;
    }

    public String getBillSurplusCost() {
        return billSurplusCost;
    }

    public void setBillSurplusCost(String billSurplusCost) {
        this.billSurplusCost = billSurplusCost;
    }

    public String getPenalSumCost() {
        return penalSumCost;
    }

    public void setPenalSumCost(String penalSumCost) {
        this.penalSumCost = penalSumCost;
    }

    public String getGrowthCost() {
        return growthCost;
    }

    public void setGrowthCost(String growthCost) {
        this.growthCost = growthCost;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getShouldPayTime() {
        return shouldPayTime;
    }

    public void setShouldPayTime(Date shouldPayTime) {
        this.shouldPayTime = shouldPayTime;
    }

    public Date getPenalSumTime() {
        return penalSumTime;
    }

    public void setPenalSumTime(Date penalSumTime) {
        this.penalSumTime = penalSumTime;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getChargeTypeName() {
        return chargeTypeName;
    }

    public void setChargeTypeName(String chargeTypeName) {
        this.chargeTypeName = chargeTypeName;
    }
}
